package com.ruoyi.purchaseReturn.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.procurement.domain.ProcurementModel;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 采购退货从表
 *
 * @author WangChangShuo
 * @date 2022年06月15日 11:10
 */
public class PurchaseReturnModel extends BaseEntity {
    private int remainingNum;
    /**
     * 采购退货从表自增主键
     */
    private Long purchaseReturnModelId;
    /**
     * 采购退货主表主键
     */
    private Long purchaseReturnId;
    /**
     * 入库单从表主键 确认退哪个货物
     */
    private Long procurementWarehousingNo;
    /**
     * 退货数量
     */
    private int returnNum;
    /**
     * 单价
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal price;
    /**
     * 税率(1 3 5 13)
     */
    private String taxRate;
    /**
     * 含税单价
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal taxPrice;
    /**
     * 总金额
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal total;
    /**
     * 含税金额
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private BigDecimal taxTotal;
    /**
     * 入库单 从表 一对一关系
     */
    private ProcurementModel procurementModel;
    /**
     * 批次
     */
    private String batch;
    /**
     * 失效日期
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    private Date effectiveDate;
    private String unit;
    private int allNum;

    public int getRemainingNum() {
        return remainingNum;
    }

    public void setRemainingNum(int remainingNum) {
        this.remainingNum = remainingNum;
    }

    public int getAllNum() {
        return allNum;
    }

    public void setAllNum(int allNum) {
        this.allNum = allNum;
    }

    public String getUnit() {
        return unit;
    }

    public void setUnit(String unit) {
        this.unit = unit;
    }

    public Date getEffectiveDate() {
        return effectiveDate;
    }

    public void setEffectiveDate(Date effectiveDate) {
        this.effectiveDate = effectiveDate;
    }

    public String getBatch() {
        return batch;
    }

    public void setBatch(String batch) {
        this.batch = batch;
    }

    public ProcurementModel getProcurementModel() {
        return procurementModel;
    }

    public void setProcurementModel(ProcurementModel procurementModel) {
        this.procurementModel = procurementModel;
    }

    public Long getPurchaseReturnModelId() {
        return purchaseReturnModelId;
    }

    public void setPurchaseReturnModelId(Long purchaseReturnModelId) {
        this.purchaseReturnModelId = purchaseReturnModelId;
    }

    public Long getPurchaseReturnId() {
        return purchaseReturnId;
    }

    public void setPurchaseReturnId(Long purchaseReturnId) {
        this.purchaseReturnId = purchaseReturnId;
    }

    public Long getProcurementWarehousingNo() {
        return procurementWarehousingNo;
    }

    public void setProcurementWarehousingNo(Long procurementWarehousingNo) {
        this.procurementWarehousingNo = procurementWarehousingNo;
    }

    public int getReturnNum() {
        return returnNum;
    }

    public void setReturnNum(int returnNum) {
        this.returnNum = returnNum;
    }

    public BigDecimal getPrice() {
        return price;
    }

    public void setPrice(BigDecimal price) {
        this.price = price;
    }

    public String getTaxRate() {
        return taxRate;
    }

    public void setTaxRate(String taxRate) {
        this.taxRate = taxRate;
    }

    public BigDecimal getTaxPrice() {
        return taxPrice;
    }

    public void setTaxPrice(BigDecimal taxPrice) {
        this.taxPrice = taxPrice;
    }

    public BigDecimal getTotal() {
        return total;
    }

    public void setTotal(BigDecimal total) {
        this.total = total;
    }

    public BigDecimal getTaxTotal() {
        return taxTotal;
    }

    public void setTaxTotal(BigDecimal taxTotal) {
        this.taxTotal = taxTotal;
    }
}
